/*
给定一个只包括 '('，')'，'{'，'}'，'['，']' 的字符串，判断字符串是否有效。

有效字符串需满足：

左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。


* 执行用时: 68 ms, 在Valid Parentheses的JavaScript提交中击败了92.99% 的用户
* */
String.prototype.isValid = function () {
    var strArr = this.split('');
    var resultArr = [];
    if (strArr.length === 0) {
        return true;
    }
    resultArr[0] = strArr[0]
    for (var i = 1; i < strArr.length; i++) {
        resultArr.push(strArr[i]);
        if (strArr[i] == ')') {
            if (resultArr[resultArr.length - 2] == '(') {
                resultArr.splice(resultArr.length - 2, 2)
            }
        }
        if (strArr[i] == '}') {
            console.log()
            if (resultArr[resultArr.length - 2] == '{') {
                resultArr.splice(resultArr.length - 2, 2)
            }
        }
        if (strArr[i] == ']') {
            if (resultArr[resultArr.length - 2] == '[') {
                resultArr.splice(resultArr.length, 2)
            }
        }
    }
    return resultArr.length == 0
}


/*
    * 给定一个仅包含大小写字母和空格 ' ' 的字符串，返回其最后一个单词的长度。
    * 如果不存在最后一个单词，请返回 0 。
    * 说明：一个单词是指由字母组成，但不包含任何空格的字符串。
    * 示例:
    * 输入: "Hello World"
    * 输出: 5
    * */
String.prototype.lengthOfLastWord = function () {
    if (this.match(/[a-zA-Z]+/g) === null) {
        return 0
    } else {
        return this.match(/[a-zA-Z]+/g).slice(-1)[0].length
    }
}